import { Module } from '@nestjs/common';
import { AppController } from './app.controller';
import { AppService } from './app.service';
import { GoodsController } from './api/goods/goods.controller';
import { GoodsService } from './services/goods/goods.service';
import { CategoryController } from './api/category/category.controller';
import { CategoryService } from './services/category/category.service';
import { IndexController } from './api/index/index.controller';
import { AdService } from './services/ad/ad.service';
import { BulletinService } from './services/bulletin/bulletin.service';
import { BrandController } from './api/brand/brand.controller';
import { BrandService } from './services/brand/brand.service';
import { AuthModule } from './modules/auth.module';
import { UserService } from './services/user/user.service';
import { DatabaseModule } from "./modules/database.module";
import { UserController } from './api/user/user.controller';
import { AdController } from './api/ad/ad.controller';
import { BulletinController } from './api/bulletin/bulletin.controller';
import { EmailController } from './api/email/email.controller';
import { EmailService } from './services/email/email.service';
import { TopicController } from './api/topic/topic.controller';
import { UserCouponController } from './api/user-coupon/user-coupon.controller';
import { UserCouponService } from './services/user-coupon/user-coupon.service';
import { TopicService } from './services/topic/topic.service';
import { GoodsAttributeController } from './api/goods-attribute/goods-attribute.controller';
import { GoodsAttributeService } from './services/goods-attribute/goods-attribute.service';
import { GoodsSpecificationController } from './api/goods-specification/goods-specification.controller';
import { GoodsSpecificationService } from './services/goods-specification/goods-specification.service';
import { GoodsIssueController } from './api/goods-issue/goods-issue.controller';
import { GoodsIssueService } from './services/goods-issue/goods-issue.service';
import { CommentController } from './api/comment/comment.controller';
import { CommentService } from './services/comment/comment.service';
import { CouponGoodsController } from './api/coupon-goods/coupon-goods.controller';
import { CouponGoodsService } from './services/coupon-goods/coupon-goods.service';
import { OrderController } from './api/order/order.controller';
import { OrderService } from './services/order/order.service';
import { OrderGoodsController } from './api/order-goods/order-goods.controller';
import { OrderGoodsService } from './services/order-goods/order-goods.service';
import { CartController } from './api/cart/cart.controller';
import { CartService } from './services/cart/cart.service';
import { ProductController } from './api/product/product.controller';
import { ProductService } from './services/product/product.service';
import { FootprintController } from './api/footprint/footprint.controller';
import { FootprintService } from './services/footprint/footprint.service';
import { AddressController } from './api/address/address.controller';
import { AddressService } from './services/address/address.service';
import { FeedbackController } from './api/feedback/feedback.controller';
import { FeedbackService } from './services/feedback/feedback.service';
import { SearchHistoryController } from './api/search-history/search-history.controller';
import { SearchHistoryService } from './services/search-history/search-history.service';
import {ConfigService} from './config/config.service';
import { AlipayController } from './api/alipay/alipay.controller';
import { AlipayService } from './services/alipay/alipay.service';
import { CollectController } from './api/collect/collect.controller';
import { CollectService } from './services/collect/collect.service';

@Module({
  imports: [
    DatabaseModule,
    AuthModule,
  ],
  controllers: [AppController, GoodsController, CategoryController, IndexController, BrandController, UserController, AdController, BulletinController, EmailController, TopicController, UserCouponController, GoodsAttributeController, GoodsSpecificationController, GoodsIssueController, CommentController, CouponGoodsController, OrderController, OrderGoodsController, CartController, ProductController, FootprintController, AddressController, FeedbackController, SearchHistoryController, AlipayController, CollectController],
  providers: [AppService, GoodsService, CategoryService, AdService, BulletinService, BrandService,UserService, EmailService, UserCouponService, TopicService, GoodsAttributeService, GoodsSpecificationService, GoodsIssueService, CommentService, CouponGoodsService, OrderService, OrderGoodsService, CartService, ProductService, FootprintService, AddressService, FeedbackService, SearchHistoryService, AlipayService, CollectService],
})
export class AppModule {}
